package mynet;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

/**
 * @Auther: cty
 * @Date: 2020/1/13 11:27
 * @Description:  （服务器端）接收端——字符串
 * 1、使用DatagramSocket 指定端口，创建接收端
 * 2、准备容器，封装成DatagramPacket包裹
 * 3、阻塞式接收包裹receive(DatagramPacket p)
 * 4、分析数据
 *    byte[] getData()
 *           getLength()
 * 5、释放资源
 *
 * @version: 1.0
 */
public class Ba_UdpServer {
    public static void main(String[] args) throws IOException {
        System.out.println("接收方启动中......");
        //1、使用DatagramSocket 指定端口，创建接收端
        DatagramSocket server = new DatagramSocket(9999);
        //2、准备容器，封装成DatagramPacket包裹
        byte[] container = new byte[1024*64];  //最大一次接收64kB的数据包
        DatagramPacket packet = new DatagramPacket(container,0,container.length);
        //3、阻塞式接收包裹receive(DatagramPacket p)
        server.receive(packet);  //阻塞式
        //4、分析数据
        byte[] datas = packet.getData();
        int len = packet.getLength();
        System.out.println("接收数据："+new String(datas,0,len));
        //5、释放资源
        server.close();
    }
}
